import router from "@/router/index.js"
import { getUser } from "@/router/getUser"
import { loginForTodocenter,getWorkItemDataForMobile }from "@/api/agree"
import store from '@/store'
import { Message } from "ant-design-vue";
import { getProjectPermission, getProjectCaches } from '@/api/projectManage.js';
// 导航守卫
router.beforeEach((to, from, next) => {
  next('/')
  // return
  // store.commit('SETINSTATUS', true)
  // if (window.location.href.indexOf('errorMessage') !== -1) {
  //   Message.error('单点登录认证失败，请重新打开浏览器登录！')
  //   return false
  // }
  // let status = store.state.agreementStatus
  // let clientName = process.env.VUE_APP_CLIENTNAME
  // let apiUrl = process.env.VUE_APP_API_URL
  // let webUrl = process.env.VUE_APP_BASE_URL
  // // 获取token
  // if(to.query && to.query.encryData){
  //   let val = to.query.encryData;
  //   let vals = to.query.signData;
  //   loginForTodocenter(val,vals).then(res => {
  //     if(res.data && res.data.success){
  //       sessionStorage.setItem('authorToken', res.data.accessToken);
  //       getUser().then(res1 => {
  //         if (res1) {
  //           let info = JSON.stringify(res1.data)
  //           sessionStorage.setItem('userInfo', info)
  //         }
  //         getWorkItemDataForMobile({userId:res1.data.loginName,oid:to.query.fdId}).then(res2 => {
  //           if(res2.data.success){
  //             sessionStorage.setItem('fdIdTitle', res2.data.data[0].pboOid)
  //             store.commit('setAgreementStatus', false)
  //             next('/toDoPage')
  //           }
  //         })
  //       })
  //     }else{
  //       message.error(res.data.message)
  //     }
  //   })
  // }else if(to.query && to.query.viewProjectOid){
  //   if (to.query && to.query.access_token) {
  //     sessionStorage.setItem('authorToken', to.query.access_token);
  //     getUser().then(res => {
  //       if (res) {
  //         // 判断是否有项目查看权限
  //         getProjectPermission({
  //           "oid": 'OR:com.pisx.pmgt.project.PIProject:'+to.query.viewProjectOid,
  //           "userId": res.data.loginName
  //         }).then(res1 => {
  //           if (res1 && res1.status === 200) {
  //             if (res1.data && res1.data.data && res1.data.data.length > 0 && res1.data.data[0].hasPermission) {
  //                 sessionStorage.setItem('userInfo', JSON.stringify(res.data))
  //                 getProjectCaches([to.query.viewProjectOid]).then(res => {
  //                   if (res.status === 200) {
  //                     if (res.data && res.data.length > 0) {
  //                       sessionStorage.setItem("oid", to.query.viewProjectOid);
  //                       sessionStorage.setItem("ProjectObj", JSON.stringify({ projectName: res.data[0].projectName, projectType: res.data[0].projectType }));
  //                       if (res.data[0].projectType === '软件开发项目') {
  //                         sessionStorage.setItem("projectSmallType", res.data[0].projectSmallType)
  //                       }
  //                       if (to.query.projectTaskBookOid) {
  //                         router.push({ path: "/single/projectPaper/mainTaskBook" })
  //                         // router.push({path: "/single/projectPaper/mainTaskBook",query: { bookOid: to.query.projectTaskBookOid}})
  //                       } else {
  //                         router.push({ path: '/single/projectMain', query: { oid: to.query.viewProjectOid } });
  //                       }
  //                     }
  //                   } else {
  //                     Message.error('获取数据失败');
  //                     return false
  //                   }
  //                 });
  //               }else{
  //                 Message.error('暂无权限');
  //                 return false
  //                 //sessionStorage.setItem('authorToken', null);
  //                 // window.location.href = `${apiUrl}/oauth/oauth/authorize?response_type=token&client_id=${clientName}&redirect_uri=${encodeURIComponent(webUrl)}`
  //               }
  //           }
  //         })
  //       }
  //     })
  //   }else{
  //     let error = Number(to.query.error||0);
  //     if(error<3){
  //       let url = webUrl+'/#/?viewProjectOid='+to.query.viewProjectOid+'&error='+(error+1);
  //       if(to.query.projectTaskBookOid){
  //         url = url + '&projectTaskBookOid='+to.query.projectTaskBookOid;
  //       }
  //       window.location.href = `${apiUrl}/oauth/oauth/authorize?response_type=token&client_id=${clientName}&redirect_uri=${encodeURIComponent(url)}`
  //     }
  //   }
  // }else{
  //   let pathStr = to.path.substring(1, to.path.length)
  //   let obj = {}
  //   if (pathStr.indexOf('&') !== -1) {
  //     var code = pathStr.split('&')
  //     for (let v of code) {
  //       let v2 = v.split('=')
  //       obj[v2[0]] = v2[1]
  //     }
  //   }
  //   // if (obj && obj.access_token) {
  //   if (obj.access_token) {
  //     sessionStorage.setItem('authorToken', obj.access_token);
  //     getUser().then(res => {
  //       if (res) {
  //         let info = JSON.stringify(res.data)
  //         sessionStorage.setItem('userInfo', info)
  //       }
  //       let agreeInfo = localStorage.getItem('agreeMent')
  //       if (!agreeInfo) {
  //         store.commit('setAgreementStatus', true)
  //         next('/agree')
  //       } else {
  //         store.commit('setAgreementStatus', false)
  //         next('/')
  //       }
  //       // getAgreeInfo(res.data.loginName).then(res => {
  //       //   if (res.data && res.data.empty) {
  //       //     store.commit('setAgreementStatus', true)
  //       //     next('/agree')
  //       //   } else {
  //       //     store.commit('setAgreementStatus', false)
  //       //     next('/')
  //       //   }
  //       // })
  //     })
  //   } else {
  //     let token = sessionStorage.getItem('authorToken');
  //     if (token === 'null' || token === null || token === '' || token === undefined) {
  //       window.location.href = `${apiUrl}/oauth/oauth/authorize?response_type=token&client_id=${clientName}&redirect_uri=${encodeURIComponent(webUrl)}`
  //     } else {
  //       getUser().then(res => {
  //       }).catch(error => {
  //         if (error.response.status == '401') {
  //           if (error.response.data.requestCode == "error.permission.accessTokenExpired") {
  //             window.location.href = `${apiUrl}/oauth/oauth/authorize?response_type=token&client_id=${clientName}&redirect_uri=${encodeURIComponent(webUrl)}`
  //           }
  //         }
  //       })
  //       if (to.name !== 'agree' && status) {
  //         store.commit('setAgreementStatus', true)
  //         next('/agree')
  //       } else {
  //         next();
  //       }
  //     }
  //   }
  // }
})